home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 June / PCWorld_2004-06_cd.bin / software / vyzkuste / koolmoves / kmsetup.exe / {app} / Motion Scripts / Flames / effect2.txt
Text File  |  2004-03-19  |  2KB  |  90 lines

  1.  
  2. // main_init function
  3.  
  4. main_init = function(mc){
  5.  box = function ( mc, tl_x, tl_y, br_x, br_y ){
  6.   mc.lineStyle();
  7.   mc.beginFill(0);
  8.   mc.moveTo (tl_x,tl_y);
  9.   mc.lineTo (br_x,tl_y);
  10.   mc.lineTo (br_x,br_y);
  11.   mc.lineTo (tl_x,br_y);
  12.   mc.endFill();
  13.  }
  14.  flame = function ( mc, tl_x, tl_y, br_x, br_y ){
  15.   var mx = ( tl_x + br_x ) / 2; // horizontal midpoint
  16.   var my = ( tl_y + br_y ) / 2; // vertical midpoint
  17.   var cx = (br_x - tl_x) * .022; // correction horizontal
  18.   var cy = (br_y - tl_y) * .022; // correction vertical 
  19.   mc.lineStyle();
  20.   var colors = [ 0xFF9F00, 0xFFCF00, 0xFFFF9F, 0xFFCF60 ];
  21.   var alphas = [ 100, 100, 100, 0 ];
  22.   var ratios = [ 0, 0x20, 0x66, 0xFF ];
  23.   var matrix = { matrixType:"box", r:0 };
  24.   matrix.x = tl_x;
  25.   matrix.y = tl_y;
  26.   matrix.w = (br_x-tl_x)*.9; 
  27.   matrix.h = (br_y-tl_y)*1.5;
  28.   mc.beginGradientFill( "radial", colors, alphas, ratios, matrix );
  29.   mc.moveTo ( mx, tl_y );
  30.   mc.curveTo ( br_x-cx, tl_y+cy, br_x, my );
  31.   mc.curveTo ( br_x-cx, br_y-cy, mx, br_y );
  32.   mc.curveTo ( tl_x+cx, br_y-cy, tl_x, my );
  33.   mc.curveTo ( tl_x+cx, tl_y+cy, mx, tl_y );
  34.   mc.endFill();
  35.  }
  36.  createEmptyMovieClip("fire",6); 
  37. }
  38.  
  39. // main_effect function
  40.  
  41. main_effect = function(mc,frame){
  42.  if (subs_done) {
  43.   fire.removeMovieClip();
  44.   end_effect = true;
  45.  }
  46. }
  47.  
  48. // sub_init function
  49.  
  50. sub_init = function(mc){
  51.  w = (mc._width - $padding);
  52.  h = (mc._height - $padding);
  53.  b = mc.getBounds(mc);
  54.  mc._parent.createEmptyMovieClip("m"+mc._i,mc._i*10+6);
  55.  msk = mc._parent["m"+mc._i];
  56.  mc.setMask(msk);
  57.  box (msk,b.xMin,b.yMin,b.xMax,b.yMax);
  58.  msk._x = mc._x;
  59.  msk._y = mc._y + (out_effect ? 0 : mc._height);
  60.  fire.createEmptyMovieClip("f"+mc._i,mc._i);
  61.  f = fire["f"+mc._i];
  62.  flame(f,-w,-h*(high_flames ? 4 : 2),w,0);
  63.  f.__x = mc._x;
  64.  f.__y = mc._y+h/2;
  65.  f._yscale = 0;
  66. }
  67.  
  68. // sub_effect function
  69.  
  70. sub_effect = function(mc,frame){
  71.  perc = frame / lastsubframe;
  72.  msk = mc._parent["m"+mc._i];
  73.  msk._y = mc._y + mc._height * (out_effect ? perc : 1-perc);
  74.  f = fire["f"+mc._i];
  75.  if (!calm_fire || frame % 2){
  76.   f._x = f.__x + Math.random() * 2;
  77.   f._y = f.__y + Math.random() * 2;
  78.   f._xscale = (95 + Math.random() * 10)* Math.min(1,perc * 8);
  79.   f._yscale = 85 + Math.random() * 30;
  80.   f._rotation = Math.random() * 5 - 2.5;
  81.  }
  82.  f._alpha = (80 + Math.random() * 10)* Math.min(1,(1-perc) * 8);;
  83.  if (frame == lastsubframe){
  84.   if (out_effect) mc._alpha = 0;
  85.   msk.removeMovieClip();
  86.   mc.done=true;
  87.  }
  88. }
  89.  
  90.